/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.client.om;

import java.util.EnumSet;

/**
 * @author Guillaume Lancelin
 */
public enum TypeTelephone {
    
    /**
     * Particulier
     */
    FIXE("P", "creation.form.telephone.fixe"),
    
    /**
     * Professionnel
     */
    PORTABLE("M", "creation.form.telephone.portable"),
    
    /**
     * Entreprise
     */
    FAX("F", "creation.form.telephone.fax");
    
    /**
     * Valeur associée à l'énumération
     */
    private String value;
    
    /**
     * La clé utilisée pour afficher le libellé de la nature personne
     */
    private String cleLibelle;
    
    /**
     * Le constructeur
     * 
     * @param value la valeur
     * @param cleLibelle la clé du libellé
     */
    private TypeTelephone(String value, String cleLibelle) {
        this.value = value;
        this.cleLibelle = cleLibelle;
    }

    public String getValue() {
        return value;
    }

    public String getCleLibelle() {
        return cleLibelle;
    }
    
    /**
     * @param value la valeur
     * 
     * @return le type de téléphone à partir de sa valeur
     */
    public static TypeTelephone getNaturePersonneFromValue(String value) {
        TypeTelephone type = null;
        
        for (TypeTelephone typeTelephone : EnumSet.allOf(TypeTelephone.class)) {
            if (value.equals(typeTelephone.getValue())) {
                type = typeTelephone;
                break;
            }
        }
        
        return type;
    }
}
